The cloud computing environment is an enhancement to the predecessor grid environment, whereby multiple grids and other computation resources may be further abstracted by a cloud layer, thus making disparate devices appear to an end-user as a single pool of seamless resources. These resources may include such things as physical or logical compute engines, servers and devices, device memory, storage devices.
Cloud computing environments create virtual machines, also called instances, on behalf of users (people or machines). These virtual machines are often delivered with “root” level access allowing users to manage them as they see fit. To enable instances to act autonomically, the instance needs to be able to call management APIs to create additional resources, change their current resources, etc. One challenge is being able to do this securely without compromising credentials or presuming a specific implementation. Previous attempts have failed to accomplished this.